package com.venutech.gongan.dao;

import com.baomidou.mybatisplus.plugins.Page;
import com.venutech.gongan.entity.DeviceDate;
import com.venutech.gongan.entity.DeviceStatus;
import com.venutech.gongan.entity.DictData;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 数据字典DATA数据操作接口
 */
public interface DictDataMapper {
    //插入数据
    int insert(DictData dictData);

    //根据id修改信息
    int updateDictData(DictData dictData);

    //根据id删除信息
    int deleteById(Integer dict_code_id);

    //根据id返回对象信息
    DictData getById(Integer dict_code_id);

    //获取区域编码
    List<DictData> getSelQybm();

    //获取小类编码
    List<DictData> getSelXlbm();

    //获取联网属性
    List<DictData> getSellwsx();

    //获取设备状态
    List<DictData> getSelsbzt();

    //设备厂商
    List<DictData> getSelsbcs();

    //行政区域 姑苏区
    List<DictData> getSelzxbm();

    //摄像机类型
    List<DictData> getSelsxjlx();

    //摄像机功能类型
    List<DictData> getSelsxjgnlx();

    //位置类型
    List<DictData> getSelsxjwzlx();

    //摄像机补光属性
    List<DictData> getSelsxjbgsx();

    //监视方位
    List<DictData> getSeljsfw();

    //最高分辨率
    List<DictData> getSelzcfbl();

    //摄像机编码格式
    List<DictData> getSelsxjbmgs();

    //公安机关 苏州市
    List<DictData> getSelgajg();

    //所属部门
    List<DictData> getSelssbmhy();

    //设备所属类型
    List<DictData> getSelsbsslx();

    //工单类型
    List<DictData> getSelWorkType();

    //工单状态
    List<DictData> getSelWorkState();
    //查询所有型号集合
    List<DictData> getSelAllXh();

    //获取运营商编码
    List<DictData> getSelAllyys();

    //民警行政区域
    List<DictData> getSelAllMjxzqy();

    //分页信息
    List<DictData> getInfo(String begintime, String endtime, String badw, Page<DictData> page, @Param("dict_type") String dict_type);

    List<DictData> getAllDictName(String dict_type);

    DictData getByDictValueAndDictType(@Param("dictValue") String dictValue, @Param("dictType") String dictType);

    /**
     * @author:   
     * date: 2021/11/26 0026 16:13
     * @since: JDK 1.8
     * @description: 这里用一句话描述这个方法的作用 
     * @param: 
     * @return: 
     */
    List<DeviceDate> getDeviceList();

    List<DeviceStatus> getDeviceStatusList();
}
